package com.sugon.modules.analyse.model.vo;

import cn.hutool.core.date.DateUtil;
import com.sugon.modules.kpi.model.dto.KpiDeviceDTO;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ： YuXD
 * @description： 模具KPI统计参数VO
 * @date ： 2021-01-18 10:20
 * @version: 1.0
 */
@Data
public class MoldKpiStatParamVO implements Serializable {

    /**
     * 模具编码列表
     */
    @NotEmpty(message = "模具必选")
    private List<String> moldCode;

    /**
     * 模具编号列表
     */
    private List<String> moldNo = new ArrayList<>();

    @NotNull(message = "统计年度必选")
    private Integer yearly;

    @NotEmpty(message = "KPI维度列表必选")
    private List<String> targetList;

    /**
     * 设备ID列表
     * 通过deviceOrganizationId查询统计得出
     */
    private List<KpiDeviceDTO> deviceIdLst;

    /**
     * 默认为今年
     *
     * @return
     */
    public Integer getYearly() {
        return yearly == null ? DateUtil.thisYear() : yearly;
    }
}
